package com.mida.dms.knw.entity;

import java.io.Serializable;
import java.util.Date;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;


/**
 * 编码体系
 * @author conyfrommars
 *
 */
@Setter
@Getter
@ToString
@ApiModel(description = "编码体系")
@Data
public class DetailCodingSystem implements Serializable {
	
    /**
     * 编码体系ID
     */
	@ApiModelProperty(value = "编码体系ID", required = false)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long derailCodingSystemSoid;

    /**
     * 命名体系ID
     */
	@ApiModelProperty(value = "命名体系ID", required = false)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long nomenclatureSoid;

    /**
     * 域ID
     */
	@ApiModelProperty(value = "概念域ID", required = false)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long domainSoid;

    /**
     * 编码体系标识符
     */
	@ApiModelProperty(value = "编码体系标识符", required = false)
    protected String codingSystemIdentifier;

    /**
     * 名称
     */
	@ApiModelProperty(value = "编码体系中文名称", required = true)
    protected String cnName;
	
	/**
     * 名称
     */
	@ApiModelProperty(value = "编码体系英文名称", required = false)
    protected String enName;
	

    /**
     * 定义
     */
	@ApiModelProperty(value = "定义", required = true)
    protected String definition;

    /**
     * 描述
     */
	@ApiModelProperty(value = "描述", required = true)
    protected String descreption;

	
	/**
	 * 来源
	 */
	@ApiModelProperty(value = "来源", required = true)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long sourceSoid;
    /**
     * 拼音码
     */
	@ApiModelProperty(value = "拼音码", required = false)
    protected String pyCode;

    /**
     * 五笔码
     */
	@ApiModelProperty(value = "五笔码", required = false)
    protected String wbCode;

    /**
     * 版本号
     */
	@ApiModelProperty(value = "版本号", required = false)
    protected Double vsersion=1.0;

    /**
     * 生效日期
     */
	@ApiModelProperty(value = "生效日期", dataType = "java.util.Date",required = false,example = "2021-01-26")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    protected Date beginDate;

    /**
     * 失效日期
     */
	@ApiModelProperty(value = "失效日期", dataType = "java.util.Date",required = false,example = "2021-01-26")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    protected Date endDate;

    /**
     * 状态
     */
	@ApiModelProperty(value = "状态", required = false)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long status;

    /**
     * 删除标志位
     */
	@ApiModelProperty(value = "删除标志位，默认0", required = false)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long isDelete=0L;

    /**
     * 注册机构
     */
	@ApiModelProperty(value = "注册机构", required = true)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long registOrganization;

    /**
     * 提交机构
     */
	@ApiModelProperty(value = "提交机构", required = true)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long submitOrganization;

    /**
     * 提交人员
     */
	@ApiModelProperty(value = "提交人员", required = true)
    protected String submitter;

    /**
     * 发布日期
     */
	@ApiModelProperty(value = "发布日期", dataType = "java.util.Date",required = false,example = "2021-01-26")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    protected Date publishDate;

    /**
     * 创建日期时间
     */
	@ApiModelProperty(value = "创建日期时间", dataType = "java.util.Date",required = false,example = "2021-01-26")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    protected Date createDate; 
    
    /**
     * 最后更新日期时间
     */
	@ApiModelProperty(value = "最后更新日期时间", dataType = "java.util.Date",required = false,example = "2021-01-26")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    protected Date updateDate;

    /**
     * 最后修改人
     */
	@ApiModelProperty(value = "最后修改人", required = false)
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    protected Long updateUser;

    protected static final long serialVersionUID = 1L;

}